Advanced seatbelt interlock using video recognition

ABSTRACT

Computing devices, methods, and systems for locking vehicle operations when an occupant is not wearing a correctly positioned seatbelt are disclosed. One example method for locking vehicle operations includes identifying an occupant position and a seatbelt position based on information relating to an occupant of the vehicle and a seatbelt associated with the occupant; determining whether the occupant is correctly wearing the seatbelt based at least in part on the occupant position, the seatbelt position, and a reference model; and locking one or more vehicle operations if the occupant is not correctly wearing the seatbelt. Example implementations include using depth-sensing cameras, rendering a three-dimensional model representing the occupant position and the seatbelt position, and comparing the three-dimensional model and the reference model. Examples of vehicle operations that may be locked include ignition operations, gear shift operations, and autonomous driving operations.

BACKGROUND

The present disclosure relates to a vehicle and more particularly todevices, systems, and methods of determining seatbelt position.

In order to encourage drivers to wear safety belts, cars normallyinclude warning chimes reminding drivers if safety belts are notfastened. Indeed, such warnings are required by the Federal MotorVehicle Safety Standards and Regulations promulgated by the NationalHighway Traffic Safety Administration. However, even when a vehicle doesalert a driver to the absence of a fastened seatbelt, the driver canalways choose to ignore the alert.

Drivers may be able to circumvent these safety features because, often,the only indicator of a seatbelt's status is a sensor located in theseatbelt buckle that detects whether the seatbelt is latched. However,it cannot be assumed that a seatbelt is adequately fulfilling itsintended use merely because the seatbelt is latched. For example, evenwhile a seatbelt is latched, a driver is still able to remove theseatbelt's shoulder harness and put it behind his or her back. If adriver wishes to permanently disable the warning feature, the driver maycut off the metal plate portion (called the seatbelt's “tongue”) andleave it—or an aftermarket tongue designed to matched the shape of theoriginal—inserted into the buckle, thus completely circumventing thewarning feature. Even without intentional circumvention, seatbelts maybecome twisted or moved out of position inadvertently, without thedriver having any indication or knowledge of the problem. Similarly, ifthe driver slouches, the seatbelt harness may not be positionedcorrectly over the driver's upper body. Also, if a driver has anon-average body type or shape (for example, if the driver is pregnant,or is significantly large or small), then the seatbelt might not be inthe optimum position. In all of these cases, the driver will not bewarned because the seatbelt is technically “fastened.”

SUMMARY

Disclosed herein are devices, systems, and methods for locking vehicleoperations when a vehicle occupant (such as a driver) is not wearing aproperly positioned seatbelt (including where the occupant is notwearing the seatbelt at all). In one example implementation, opticalsensors are used to determine a seatbelt's position on the occupant. Inone example implementation, the optical sensors are depth-sensingcameras. In another example implementation, the vehicle's ignitionsequence is prevented from being activated if the vehicle occupant isnot wearing a properly positioned seatbelt.

One example computing device for locking vehicle operations includes oneor more processors for controlling the operations of the computingdevice and a memory for storing data and program instructions used bythe one or more processors, wherein the one or more processors areconfigured to execute instructions stored in the memory to: identify anoccupant position and a seatbelt position based on relating to anoccupant of the vehicle and a seatbelt associated with the occupant;determine whether the occupant is correctly wearing the seatbelt basedat least in part on the occupant position, the seatbelt position, and areference model; and lock one or more vehicle operations if the occupantis not correctly wearing the seatbelt.

One example method for locking vehicle operations includes identifyingan occupant position and a seatbelt position based on informationrelating to an occupant of the vehicle and a seatbelt associated withthe occupant; determining whether the occupant is correctly wearing theseatbelt based at least in part on the occupant position, the seatbeltposition, and a reference model; and locking one or more vehicleoperations if the occupant is not correctly wearing the seatbelt.

One example system for locking vehicle operations includes one or moreoptical sensors associated with a vehicle; a computing device incommunication with the one or more optical sensors, the computing devicecomprising one or more processors for controlling the operations of thecomputing device and a memory for storing data and program instructionsused by the one or more processors, wherein the one or more processorsare configured to execute instructions stored in the memory to: identifyan occupant position and a seatbelt position based on informationreceived from the one or more optical sensors relating to an occupant ofthe vehicle and a seatbelt associated with the occupant; determinewhether the occupant is correctly wearing the seatbelt based at least inpart on the occupant position, the seatbelt position, and a referencemodel; and lock one or more vehicle operations if the occupant is notcorrectly wearing the seatbelt.

BRIEF DESCRIPTION OF THE DRAWINGS

The description herein makes reference to the accompanying drawingswherein like reference numerals refer to like parts throughout theseveral views, and wherein:

FIG. 1 is a schematic block diagram of a computing device for lockingvehicle operations based on seatbelt status;

FIG. 2 is a pictorial representation of a vehicle including opticalsensors used by the computing device of FIG. 1;

FIG. 3A is a perspective view of a depth-sensing camera, in accordancewith an example implementation;

FIG. 3B is a pictorial representation illustrating light patterns usedby the depth-sensing camera to determine depth, in accordance with anexample implementation;

FIG. 4 is a pictorial representation of an example skeletal model;

FIG. 5 is a pictorial representation of a vehicle occupant wearing aseatbelt, and the skeletal joint relationship detectable in accordancewith an example implementation; and

FIG. 6 is a logic flowchart of an example process performed using thecomputing device of FIG. 1.

DETAILED DESCRIPTION

This disclosure describes devices, systems, and methods for lockingvehicle operations when a vehicle occupant (such as a driver) is notwearing a properly positioned seatbelt (including where the occupant isnot wearing the seatbelt at all). Optical sensors can be used todetermine a seatbelt's position on the occupant, and, in one exampleimplementation, the optical sensors are depth-sensing cameras. Inanother example implementation, a three-dimensional model representingthe occupant and the seatbelt is rendered. In another exampleimplementation, reference models are used in determining if the occupantis wearing the seatbelt correctly. In another example implementation,the vehicle's ignition sequence is prevented from being activated if thevehicle occupant is not wearing a properly positioned seatbelt. Inanother example, an autonomously driven vehicle can automatically pullover to the side of the road if the vehicle occupant is not wearing aproperly positioned seatbelt. In another example, the vehicle will sounda warning before the vehicle operations interlock goes into effect.

FIG. 1 is a schematic block diagram of a computing device 100 for avehicle interlock based on seatbelt engagement and position. Thecomputing device 100 can be any type of vehicle-installed, handheld,desktop, or other form of single computing device, or can be composed ofmultiple computing devices. A processing unit 102 in the computingdevice can be a conventional central processing unit (CPU) or any othertype of device, or multiple devices, capable of manipulating orprocessing information. A memory 104 in the computing device can be arandom access memory device (RAM) or any other suitable type of storagedevice. The memory 104 can include data 106 that is accessed by the CPU102 using a bus 108.

The memory 104 can also include an operating system 110 and installedapplications 112, the installed applications 112 including programs thatpermit the CPU 102 to implement the vehicle operations interlock, asdescribed below. The computing device 100 can also include secondary,additional, or external storage 114, for example, a memory card, flashdrive, or any other form of computer readable medium. In oneimplementation, the installed applications 112 can be stored in whole orin part in the external storage 114 and loaded into the memory 104 asneeded for processing.

The computing device 100 can be in direct or indirect communication withone or more vehicle interfaces 116 through which a driver can controlthe vehicle. Example vehicle interfaces 116 include a steering wheel117, a gear shift 118, an ignition switch 119, pedals 120, or any othervehicle interface 116. A vehicle interface 116 may also include, forexample, an interactive display 121 through which the driver can issuecommands to the vehicle, or a voice recognition system (not shown)configured to receive driver commands. The computing device 100 can alsoinclude a communications interface 122 in order to send data to andreceive data from remote devices or servers.

The computing device 100 can also be in direct or indirect communicationwith one or more sensors 124, which can be optical sensors 126 such ascameras. These optical sensors 126 can include depth-sensing features,such as those found in consumer products such as the Microsoft Kinect™,described in U.S. Pat. No. 8,638,985 to Shotton, et. al. and U.S. Pat.No. 8,487,938 to Latta, et. al., which are hereby fully incorporatedinto this application by reference. The optical sensors 126 can captureimage data that can be sent to the computing device 100 through the bus108 or can be stored in the memory 104 or the external storage 114 forlater retrieval by the computing device 100.

FIG. 2 is a pictorial representation of a vehicle 200 including opticalsensors 126 used by the computing device of FIG. 1. The computing device100 can be located within the vehicle 200 or in an alternate locationremote from the vehicle 200. The computing device 100, if remote fromthe vehicle 200, can communicate with the vehicle 200 using thecommunications interface 122. In accordance with one exampleimplementation, one or more optical sensors 126 are positioned in thecabin of the vehicle 200 so that a vehicle occupant is within theoptical sensors' 126 field of view.

In one example implementation, the occupant is the driver of the vehicle200. An optical sensor 126 can be placed in the center area of thedriver's console or dashboard and can provide a generally head-on viewof the driver. Alternatively, or in addition, optical sensors 126 can beplaced on one or both of the vehicle's 200 A-pillars to provide a moredimensioned view of the driver and/or other occupant. In one exampleimplementation, one or more optical sensors 126 could be placed at ahigh vantage point relative to the occupant, such as embedded in theceiling, in order to ensure that the seatbelt remains within the fieldof view, even where the seatbelt would be obscured from a frontal viewby the occupant's body or clothing.

In one example implementation, as illustrated in FIG. 2, multipleoptical sensors 126 can be placed throughout the vehicle 200 to monitorother passengers as well, including occupants sitting in the passengerseat or in the rear seats. Vehicle operations can thus be locked if thedriver or other occupants are not wearing their seatbelts properly.Accordingly, the disclosed implementations may be employed with respectto any one or more persons within the vehicle 200 without departing fromthe spirit or scope of the invention, whether such person is the driveror another vehicle occupant. As such, the terms “occupant” and “driver”are used interchangeably within this application.

The optical sensors 126 may be traditional photo cameras (capturing RGBdata), depth-sensing cameras, or a combination of the two. Employingmultiple optical sensors 126 can provide for a wider field of view sothat the computing device 100 can monitor more than one occupant. Forexample, FIG. 2 illustrates a vehicle 200 with multiple optical sensors126 in each row of seating in order to monitor every occupant in thevehicle 200. Of course, more or fewer optical sensors 126 can beemployed without departing from the spirit or scope of the invention.

FIG. 3A is a perspective view of a depth-sensing camera 300, which, inan example implementation, can be used as for the one or more opticalsensors 126. Example depth-sensing cameras 300 may include such productsas the Microsoft Kinect™. In an example implementation, eachdepth-sensing camera 300 can include an infrared projector 302 and aphotodetector 304. The depth-sensing camera 300 can also include a photocamera 306 to capture RGB data.

Depth-sensing cameras 300 can monitor occupants' seatbelt usage becausethe data they can provide to the computing device 100 can allow thecomputing device 100 to construct a three-dimensional model of theoccupant and seatbelt. The data provided by the depth-sensing cameras300 can thus allow for a precise three-dimensional rendering of thescene, even in low light and without regard to color or texture.Therefore, even if an occupant is, for example, wearing a shirt that issimilar in color or texture to the seatbelt, seat, or other part of thebackground, or where the interior of the vehicle 200 is not well lit,the computing device 100 will still be able to determine the position ofthe occupant and the seatbelt, as described in more detail below.Traditional pattern analysis techniques performed on RGB data alone,without depth data, would likely not be sufficient to distinguish orascertain the boundaries of the occupant and the seatbelt in such cases.

FIG. 3B is a pictorial representation illustrating light patterns usedby the depth-sensing camera 300 to determine depth, in accordance withan example implementation. In this example, the infrared projector 302emits a pre-defined light pattern 308 at a preset focal length acrossthe scene, that is, within the depth-sensing camera's 300 field of view.The light pattern 308 then reflects back off objects within the scene asbackscatter, which backscatter can be detected by the photodetector 304.The computing device 100, or a separate processor associated with thedepth-sensing camera 300, can compare the backscatter to the knowninitial light pattern 308 emitted by the infrared projector 302. Thecomputing device 100, or a separate processor associated with thedepth-sensing camera 300, can calculate the distance to each portion ofthe visual field based on the magnitude of deformation detected in thebackscatter of the light pattern 308, as the light pattern 308 will havebecome more deformed the farther it travels. This can reveal objects inthree-dimensional space.

For example, a close object 310 will reflect a backscatter 312 that isless deformed than a backscatter 314 reflected off a farther object 316.Similarly, variations in the deformation of the light pattern 308 withina respective object will reveal the contours of that object based onrelative distance from the infrared projector 302. As described in moredetail below, these objects may correspond to limbs of a person visiblewithin the field of view of the depth-sensing camera 300. If theforegoing operations are performed by a separate processor associatedwith the depth-sensing camera 300 instead of by the computing device 100itself, the resulting three-dimensional rendering may be sent to thecomputing device 100, for example through the bus 108 or communicationsinterface 122. In any case, the depth data provided by the depth-sensingcamera 300 allow the computing device 100 to obtain or render athree-dimensional rendering of the scene.

If there are multiple optical sensors 126 placed at different points inthe vehicle 200, then the photo camera 306 (FIG. 3A) may also be used todetect depth. Detecting depth using the photo camera 306 can beaccomplished by parallax image analysis, by which the computing device100 can triangulate the position of objects within the scene based onthe stereo input received from the multiple optical sensors 126. Thecomputing device 100 can then create a three-dimensional rendering ofthe scene, including objects within the scene (such as the occupant andthe seatbelt).

Once the computing device 100 has a three-dimensional rendering of thescene, the computing device 100 can identify the occupant and theseatbelt within the scene. In one implementation, this can beaccomplished with a reference to one or more databases containingskeletal models of human body positions and movement. These databasesmay be stored in memory 104 or in external storage 114, or they may beaccessed from a remote location using the communications interface 122.

FIG. 4 is a pictorial representation of an example skeletal model 400describing a skeletal joint relationship. In one example implementation,the skeletal model 400 can be a three-dimensional object. The databasesmay include multiple skeletal models in sitting positions, especially ina vehicle seat. The databases may also include models of various typesof seatbelts (not shown), and of skeletal models wearing seatbelts incorrect and incorrect ways. The skeletal models contained in the one ormore databases may reflect a variety of body types and body shapes, asthe optimum seatbelt position may depend on such factors. For example,if an occupant is pregnant (which would be detectable based on thethree-dimensional rendering of the scene), the correct seatbelt positionmay be different. The skeletal model 400 is but one example of theskeletal models that can be included in the databases.

In one example implementation, the body type of the occupant could be afactor in whether the computing device 100 executes the vehicleoperations interlock. For example, if the computing device 100 detectsfrom the occupant's body dimensions that the occupant is a child, thenthe computing device 100 could lock vehicle operations in the event thatsuch occupant is not wearing the seatbelt correctly. On the other hand,if the occupant is an adult, then the computing device 100 could ignorean incorrect seatbelt position.

FIG. 5 is a pictorial representation of a vehicle occupant 500 wearing aseatbelt 502. Based on a comparison of the three-dimensional renderingof the scene with the various skeletal models, the computing device 100can extrapolate to a high degree of confidence (for example, by usingstatistical and probability analysis) the joints and limbs (e.g., arms,shoulders, chest, torso, etc.) of the occupant 500 within the scene. Thecomputing device 100 can thus determine the position of the occupant500, including the skeletal joint relationship of the occupant 500.Similarly, with reference to databases, the computing device 100 canidentify the seatbelt 502 and determine the position of the seatbelt502, i.e., how the occupant 500 is wearing the seatbelt 502, or whetherthe occupant 500 is not wearing the seatbelt 502 at all.

The seatbelt 502 can include several components, each of which can beidentified by the computing device 100 (such as with reference to theseatbelt models in the one or more databases, as described above). Thecomponents can include a shoulder harness 504, a lap belt 506, a tongue508, and a buckle 510. The buckle 510 can include a buckle sensor 512that detects if the tongue 508 is inserted into the buckle 510.

By comparing the position of the occupant 500 and the seatbelt 502 tothe reference skeletal models of correct and incorrect positions ofwearing a seatbelt, the computing device 100 can determine if thevehicle operations should be locked. For example, incorrect seatbeltpositions can include the shoulder harness 504 being across theoccupant's 500 neck or lower midsection rather than across the chestcentered on the collarbone, as is recommended. Incorrect seatbeltpositions can also include the shoulder harness 504 being placed underthe occupant's 500 arm or behind the occupant's 500 back.

The computing device 100 can also detect if the lap belt 506 or shoulderharness 504 becomes twisted or otherwise moved out of position. Ofcourse, if the computing device 100 detects that the seatbelt 502remains unextended at the side of the vehicle (i.e., the occupant is notwearing the seatbelt 502 at all), the computing device 100 will also beable to lock the vehicle operations. Therefore, in one exampleimplementation, the buckle sensor 512 may be queried to determine if theseatbelt 502 is not latched at all. If so, then the computing device 100can lock vehicle operations without the use of the optical sensors 126,thus saving computing resources.

The optical sensors 126 can transmit image information to the computingdevice 100 many times per second through a video stream (for example, upto sixty images per second), so that the computing device 100 canprocess position information in real time and track the movement of theoccupant 500 and the seatbelt 502. By tracking the movements in realtime, the computing device 100 is also able to extrapolate the probableposition of the occupant 500 and/or seatbelt 502 in the event thatportions of the occupant's 500 body or the seatbelt 502 become obscuredduring movement, based on the last known position of the occupant 500and/or seatbelt 502. This can be further facilitated by includingmovement information as part of the skeletal models in the databases.

As indicated, if the computing device 100 determines that the occupant500 (which may be the driver or another occupant) is not wearing theseatbelt 502 correctly, the vehicle operations interlock can beeffected, whereby selected vehicle operations are locked. For example,the driver may be prevented from initiating the engine ignition sequenceusing the ignition switch 119 or from engaging a drive gear from aparked position using the gear shift 118. Furthermore, one or moreaffirmative actions can be taken by the computing device 100 in order toeffect the vehicle operations interlock. For example, the inventivedevices, systems, and methods may be applied in the context of vehiclesystems used for autonomous driving, which vehicle systems controldriving operations and allow the vehicle 200 to drive autonomouslywithout active steering and or other active control by the driver. Inone implementation, for example, the driver (as the occupant 500) couldbe required to remain seated with the seatbelt 502 fastened in order tomaintain the autonomous driving feature. Thus, if the driver unbucklesthe seatbelt 502 during vehicle operation, or moves the seatbelt 502 outof position, the vehicle 200 can deliver an audible or visual warning tothe driver to re-engage the seatbelt 502. If the driver does not do so,the computing device 100 can cause the vehicle 200 to automatically pullover to the side of the road and prevent the driver from furtheroperating the vehicle 200. Alternatively, the computing device 100 coulddisable automatic driving mode and/or switch the vehicle 200 to manualmode.

Other vehicle operations that can be locked when the occupant 500 is notcorrectly wearing the seatbelt 502 could include a vehicle multimediasystem, or other vehicle systems as may be appropriate. Moreover, asdetailed above, the vehicle operations interlock could be extended tocover not only the driver but also other vehicle occupants. Accordingly,in such implementations, if one or more passengers were not wearingtheir respective seatbelts correctly, the driver could still beprevented from engaging the selected vehicle operations.

FIG. 6 is an example logic flowchart of a process 600 for a vehicleinterlock based on seatbelt positioning implemented by the computingdevice 100 in accordance with an example implementation. In step 602,the computing device 100 detects the positioning of the occupant 500 andthe seatbelt 502. For example, the occupant 500 could be the driver ofthe vehicle or a passenger. The computing device 100 can be configuredto detect the positioning based on data received from the opticalsensors 126, which data may include photo or video data, depth data,three-dimensional renderings, or any combination of these, as describedin more detail above. In addition, the computing device 100 may also atthis step accept input from the buckle sensor 512 to detect the positionof the seatbelt 502, as described in more detail above (i.e., if thebuckle sensor 512 indicates that the seatbelt 502 is unlatched, then itis clear that the seatbelt 502 is not positioned on the occupant 500).In step 604, the computing device 100 determines whether the seatbelt502 is positioned correctly on the occupant 500. If yes, then, in step606, a selected vehicle operation is allowed. If no, then, in step 608,the selected vehicle operation is locked.

In one example implementation, the process 600 is prompted by a commandreceived by the computing device 100. For example, the driver could beattempting to initiate the engine ignition sequence using the ignitionswitch 118 (or other examples as described above), in which case, theprocess 600 is triggered and the computing device 100 detects theseatbelt's 502 status in accordance with steps 602 and 604. In anotherexample implementation, the computing device 100 continuously monitorsthe seatbelt's 502 status in accordance with steps 602 and 604, so thatif at any time during vehicle operation the occupant 500 moves theseatbelt 502 out of position or removes the seatbelt 502, the computingdevice 100 can affirmatively act to lock selected vehicle operations.These affirmative actions may include, by way of example only:automatically driving the vehicle to the side of the road; disengagingthe gear; placing the vehicle into park; shutting down the engine; orany combination of these, or any other type of action that locks theselected vehicle operation. In addition, as described above, thecomputing device 100 can, upon detecting the mis-positioned seatbelt502, issue an audible or visual warning before affirmatively locking thevehicle operation, in order to give the occupant 500 (or driver, if notthe occupant 500) an opportunity to correct the seatbelt 502 positioningwithout being subject to the vehicle operation interlock.

The foregoing description relates to what are presently considered to bethe most practical embodiments and implementations. It is to beunderstood, however, that the disclosure is not to be limited to theseembodiments and implementations but, on the contrary, is intended tocover various modifications and equivalent arrangements included withinthe spirit and scope of the appended claims. For example, in theembodiments and implementations described above, the vehicle 200 isgenerally described an automobile. However, the vehicle 200 is notlimited to an automobile, as the disclosed systems and methods couldalso be implemented with other vehicles generally controlled by adriver, or operator, such as airplanes, boats, trains, etc. The scope ofthe claims is thus to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures as ispermitted under the law.

What is claimed is:
 1. A computing device for a vehicle, comprising: oneor more processors for controlling the operations of the computingdevice; and a memory for storing data and program instructions used bythe one or more processors, wherein the one or more processors areconfigured to execute instructions stored in the memory to: identify anoccupant position and a seatbelt position based on information relatingto an occupant of the vehicle and a seatbelt associated with theoccupant; determine whether the occupant is correctly wearing theseatbelt based at least in part on the occupant position, the seatbeltposition, and a reference model including one or more skeletal modelswearing seatbelts in correct and incorrect ways; and lock one or morevehicle operations if the occupant is not correctly wearing theseatbelt.
 2. The computing device of claim 1, wherein the informationrelating to the occupant and the seatbelt are received from one or moreoptical sensors associated with the vehicle.
 3. The computing device ofclaim 2, wherein the one or more optical sensors are cameras.
 4. Thecomputing device of claim 2, wherein the one or more optical sensors aredepth-sensing cameras.
 5. The computing device of claim 1, wherein theone or more processors are further configured to render athree-dimensional model representing the occupant position and theseatbelt position.
 6. The computing device of claim 5, wherein thedetermining whether the occupant is correctly wearing the seatbelt isbased at least in part on a comparison of the three-dimensional modeland the reference model.
 7. The computing device of claim 5, wherein atleast one of the three-dimensional model and the reference modelcomprise skeletal joint relationship information.
 8. The computingdevice of claim 1, wherein the reference model is received by thecomputing device from a remote source.
 9. The computing device of claim1, wherein the one or more vehicle operations include at least one of anignition operation and a gear shift operation.
 10. The computing deviceof claim 1, wherein the one or more processors are further configured toissue a warning before locking the one or more vehicle operations.
 11. Acomputing device for a vehicle, comprising: one or more processors forcontrolling the operations of the computing device; and a memory forstoring data and program instructions used by the one or moreprocessors, wherein the one or more processors are configured to executeinstructions stored in the memory to: identify an occupant position anda seatbelt position based on information relating to an occupant of thevehicle and a seatbelt associated with the occupant; determine whetherthe occupant is correctly wearing the seatbelt based at least in part onthe occupant position, the seatbelt position, and a reference modelincluding at least one of: one or more skeletal models, one or moreseatbelt models, or one or more skeletal models wearing seatbelts incorrect and incorrect ways; and lock one or more vehicle operations ifthe occupant is not correctly wearing the seatbelt, the one or morevehicle operations including an autonomous driving operation.
 12. Acomputing device for a vehicle, comprising: one or more processors forcontrolling the operations of the computing device; and a memory forstoring data and program instructions used by the one or moreprocessors, wherein the one or more processors are configured to executeinstructions stored in the memory to: identify an occupant position anda seatbelt position based on information relating to an occupant of thevehicle and a seatbelt associated with the occupant; determine whetherthe occupant is correctly wearing the seatbelt based at least in part onthe occupant position, the seatbelt position, and a reference modelincluding at least one of: one or more skeletal models, one or moreseatbelt models, or one or more skeletal models wearing seatbelts incorrect and incorrect ways; lock one or more vehicle operations if theoccupant is not correctly wearing the seatbelt; and issue one or morecommands to one or more vehicle systems to autonomously divert thevehicle to a safe location.
 13. A computer-implemented method for avehicle, comprising: identifying an occupant position and a seatbeltposition based on information relating to an occupant of the vehicle anda seatbelt associated with the occupant; determining whether theoccupant is correctly wearing the seatbelt based at least in part on theoccupant position, the seatbelt position, and a reference modelincluding one or more skeletal models wearing seatbelts in correct andincorrect ways; and locking one or more vehicle operations if theoccupant is not correctly wearing the seatbelt.
 14. The method of claim13, wherein the information relating to the occupant and the seatbelt isreceived from one or more optical sensors associated with the vehicle.15. The method of claim 14, wherein the one or more optical sensors aredepth-sensing cameras.
 16. The method of claim 13, further comprisingrendering a three-dimensional model representing the occupant positionand the seatbelt position.
 17. The method of claim 16, wherein thedetermination whether the occupant is correctly wearing the seatbelt isbased at least in part on a comparison of the three-dimensional modeland the reference model.
 18. The method of claim 16, wherein at leastone of the three-dimensional model and the reference model compriseskeletal joint relationship information.
 19. The method of claim 13,wherein the one or more vehicle operations includes at least one of anignition operation, a gear shift operation, and an autonomous drivingoperation.
 20. A system comprising: one or more optical sensorsassociated with a vehicle; a computing device in communication with theone or more optical sensors, the computing device comprising one or moreprocessors for controlling the operations of the computing device and amemory for storing data and program instructions used by the one or moreprocessors, wherein the one or more processors are configured to executeinstructions stored in the memory to: identify an occupant position anda seatbelt position based on information received from the one or moreoptical sensors relating to an occupant of the vehicle and a seatbeltassociated with the occupant; determine whether the occupant iscorrectly wearing the seatbelt based at least in part on the occupantposition, the seatbelt position, and a reference model including one ormore skeletal models wearing seatbelts in correct and incorrect ways;and lock one or more vehicle operations if the occupant is not correctlywearing the seatbelt.